// 常量构造函数
// 如果类生成的对象不会改变，您可以通过常量构造函数使这些对象成为编译时常量
class ImmutablePoint {
  final double x, y;
  const ImmutablePoint(this.x, this.y);
}

void main() {
  // 生成常量类的时候需要使用const关键字，如果使用new去使用常量类的话就会被编译成普的构造函数
  ImmutablePoint p1 = const ImmutablePoint(10, 10);
  ImmutablePoint p2 = const ImmutablePoint(10, 10);
  print(p1 == p2);
  ImmutablePoint p3 = new ImmutablePoint(10, 10); // 实例化时可以省略new关键字
  print(p2 == p3);
}
